// 该文件是对 useDebounce.ts 的注释翻译。
// 该文件定义了 useDebounce 函数，该函数接收一个函数 fn 和一个延迟时间 delay，返回一个新的函数，该函数在 delay 时间后执行 fn 函数。
// 该函数使用 setTimeout 延迟执行 fn 函数，并在 delay 时间后清除 setTimeout 定时器。
// 该函数的目的是防止 fn 函数在 delay 时间内被多次调用，从而节省资源。
export function useDebounce(fn: Function, delay: number) {
  let timeout: any = null;
  return function (...args: any[]) {
    clearTimeout(timeout);
    timeout = setTimeout(() => {
      fn.apply(this, args);
    }, delay);
  };
}









